home *** CD-ROM | disk | FTP | other *** search
- From: walra%moacs11@nl.net (Waldi Ravens)
- Subject: ?????.SYS, first attempt
- Date: Sat, 04 Jun 1994 20:57:34 +0100
- Precedence: bulk
-
- Here's a first attempt at a more formal description of a .SYS file
- containing configuration data which can be used by all GEM applications.
-
- As far as the name is concerned, I think it should express that this file
- is related to GEM apllications. IMO the suggested DEFAULT.SYS does not
- fullfil that requirement. I'll give it another shot :) with APP.SYS
- (APPL.SYS) or APPDFLT.SYS (APPLDFLT.SYS).
-
- The contents of ?????.SYS:
-
- ?????.SYS may contain any character code from 1 to 255. Applications
- should not crash if NUL (ASCII 0) characters were accidently included
- in the file, they may however reject all information in the file in this
- case, without further notice. Alternatively the NUL character may be
- treated as an SP (ASCII 32) character.
-
- ?????.SYS consists of an unlimited number of lines. All tokens are case
- insensitive. If a line contains a syntax error, then an application is
- free to reject that line completely without further notice.
- Syntax: ( <>=token, []=optional, /**/=comment )
-
- <line>:
- <empty line>
- <config line>
-
- <empty line>:
- [<separators>] [<comment>] <terminator>
-
- <config line>:
- [<separators>] <config type> <separators> <definition> \
- [ <separators> [<comment>] ] <terminator>
-
- <terminator>:
- CR /* ASCII 13 */
- LF /* ASCII 10 */
- CR LF
-
- <separators>:
- SP /* ASCII 32 */
- HT /* ASCII 9 */
-
- <comment>:
- ';' [<any text>] /* ASCII 59, semi-colon */
- '#' [<any text>] /* ASCII 35, hash mark */
-
- <any text>:
- a sequence of one or more characters codes ranging
- from 1 to 255, not including <terminator>
-
- <config type>:
- <alphanum> [<config type>]
-
- <alphanum>:
- a character code ranging from 48 to 57 ('0'-'9'),
- from 65 to 90 ('A'-'Z') and from 97 to 122 ('a'-'z')
-
- <definition>:
- <def field> [<separators> <definition>]
-
- <def field>:
- a sequence of one or more characters codes ranging from
- 1 to 255, not including <seperators> and <terminator>.
-
- /* standardised fields _must_ only use alpanumeric characters */
- /* fields for individual applications may contain other chars */
-
-
- The syntax for the <definition> of <config type> 'SHORTCUT' is:
-
- <shortcut definition>:
- <appl class> <seperators> <action> <separators> <extkey>
-
- <appl class>:
- * /* for all applications */
- * <class name> /* for one class of applications */
- <appl name> /* for one specific application */
-
- <class name>:
- <alphanum> [<class name>]
-
- <appl name>:
- a sequence of one or more characters codes ranging from 1 to 255,
- not including ';' (semi-colon), <seperators> and <terminator>.
-
- <extkey>:
- <shift key>
- <ctrl key>
- <alt key>
-
- <shift key>:
- '|' <ctrl key> /* maybe '\' and '/' should be allowed to */
- '|' <alt key> /* indicate the left and right shift key resp. */
-
- <ctrl key>:
- '^' <key>
-
- <alt key>
- '@' <key>
-
- <key>
- /* cannot be specified yet */
-
-
- Regards,
- Waldi (walra%moacs11@nl.net)
-